Internal interface in image processing apparatus and control thereof

ABSTRACT

Image processing apparatus having a data processing unit, a first interface having a plurality of logical channels for connecting with an external processing apparatus, a second interface having a logical channel that has a different configuration from the first interface for connecting with the data processing unit, and a control unit for controlling data transfer between the first interface and second interface.

FIELD OF THE INVENTION

[0001] The present invention relates to an internal interface in animage processing apparatus, and control thereof.

BACKGROUND OF THE INVENTION

[0002] As a known facsimile apparatus connectable with a data processingterminal, such as a personal computer, there is a facsimile apparatusconnected with the terminal through a two-way parallel port (compliantwith IEEE 1284) interface, e.g., Centronics or the like, or a UniversalSerial Bus (USB) interface, as disclosed in Japanese Patent ApplicationLaid-Open No. 7-288625.

[0003] In an image processing system constructed with the aforementionedfacsimile apparatus and data processing terminal, as a connection formbetween the facsimile apparatus and data processing terminal, a singlelogical interface is assigned to a single physical interface.

[0004] A brief construction of an image processing apparatus 1100 whichconstitutes a conventional image processing system is described indetail with reference to FIG. 15.

[0005] In the image processing apparatus 1100, a CPU 1101 serving as asystem control unit controls the entire image processing apparatus 1100.ROM 1102 stores control programs and an incorporated operating system(OS) program or the like, which are executed by the CPU 1101. Each ofthe control programs stored in the ROM 1102 executes softwarecontrolling, e.g., scheduling, task switch, interruption and so on,under the control of the incorporated OS stored in the ROM 1102, therebya multi-task function including print control, read control, andcommunication control is realized.

[0006] RAM 1103, configured with SRAM (static RAM) which requires aback-up power source, or the like, keeps stored data by receiving powersupply from a primary battery (not shown) for data back-up. The RAM 1103stores program control variables or the like which must not be lost, andsetting values registered by an operator as well as control data of theimage processing apparatus 1100 and so on, and includes a buffer areafor various works. Image memory 1104, configured with DRAM (dynamic RAM)or the like, stores image data to be handled in the image processingapparatus 1100 and status information obtained from a recording unit1115. Further, a part of the image memory 1104 is secured as a work areafor software processing.

[0007] A data conversion unit 1105 performs image data conversion, suchas interpretation of a page description language (PDL) or the like,computer graphics (CG) development of character data and so on.

[0008] A reading control unit 1106 performs various image processing,e.g., binarization, halftone processing or the like, on an image signalobtained by a reading unit 1107, which optically reads an originaldocument with the use of a contact image sensor (CIS) and converts theread data to electric image data, through an image processing controlunit (not shown) and outputs high-definition image data. Note that thereading control unit 1106 and the reading unit 1107 are adaptable toboth a sheet-reading control method of performing reading whileconveying an original document with the CIS fixed at a predeterminedposition, and a book-reading control method of scanning an originaldocument placed on a platen while moving the CIS.

[0009] An operation display unit 1108, including numeric value inputkeys, character input keys, one-touch telephone number keys, modesetting keys, an OK key, a cancel key and so on, is constructed with anoperation unit for a user to decide image transmission destination dataor to perform registration operation of setting data, various keys, alight-emitting diode (LED), and a liquid crystal display (LCD). Theoperation display unit 1108 displays operator's various input operationsand an operation state or status of the image processing apparatus 1100.

[0010] A communication control unit 1109 is constructed with amodulator-demodulator (MODEM), a network control unit (NCU) and so on.The communication control unit 1109 is connected with an analoguecommunication line (PSTN) 1131 to perform, for instance, communicationcontrol according to the T30 protocol, or line control such as call outand call in of the communication line.

[0011] A resolution conversion processing unit 1110 performs resolutionconversion control, such as millimeter-to-inch resolution conversion ofimage data. Note that in the resolution conversion processing unit 1110,enlargement/reduction processing of image data is possible. Acoding/decoding processing unit 1111 performs coding/decoding processingon image data (non-compressed or compressed with MH, MR, MMR, JBIG, JPEGor the like) handled by the image processing apparatus 1100, or performsenlargement/reduction processing.

[0012] A print control unit 1112 performs various image processing, suchas smoothing, print density correction, color correction and so on, onimage data subjected to printing through an image processing controlunit (not shown), and thus converts the data to high-definition imagedata to be outputted to an IEEE 1284 host control unit 1114 (to bedescribed later).

[0013] A USB function control unit 1113, which performs communicationcontrol of a USB interface, performs protocol control according to theUSB communication standard, converts data transmitted from a USB controltask executed by the CPU 1101 into a packet, and transmits the USBpacket to an external data processing terminal (not shown), orinversely, converts a USB packet from an external data processingterminal into data and transmit the data to the CPU 1101. The USBcommunication standard realizes high-speed two-way data communication,and allows a plurality of hubs or functions (slaves) to connect with onehost (master). The USB function control unit 113 serves as a function inthe USB communication.

[0014] The IEEE 1284 host control unit 1114 is a control unit forperforming communication according to a protocol designated by acompatibility mode of the IEEE 1284 communication standard. Thecompatibility mode of the IEEE 1284 communication standard, capable ofone-way data communication, can connect one host (master) with oneperipheral (slave). The IEEE 1284 host control unit 1114 serves as thehost in the IEEE 1284 communication, and transmits only print data tothe printing unit 1115.

[0015] The printing unit 1115, which is a printing device configuredwith a laser beam printer, inkjet printer or the like, prints colorimage data or monochrome image data on a printing material. The printingunit 1115 communicates with the IEEE 1284 host control unit 1114according to a protocol designated by the compatibility mode of the IEEE1284 communication standard. Particularly the printing unit 1115 servesas the peripheral. In the IEEE 1284 communication, the printing unit1115 receives print data from the IEEE 1284 host control unit 1114.Meanwhile, the printing unit 1115 performs asynchronous serial interface(UART) communication with a serial I/F control unit 1116 (to bedescribed later). In the asynchronous serial interface communication,the printing unit 1115 receives a command from or transmits print statusdata to the serial I/F control unit 1116.

[0016] The serial I/F control unit 1116 is a control unit for performingasynchronous serial interface communication. Asynchronous serialinterface communication is low-speed data communication capable offull-duplex transmission. The serial I/F control unit 1116 transmits acommand to or receives print status data from the printing unit 1115.

[0017] The aforementioned components 1101 to 1106, 1108 to 1114 and 1116are connected to each other through a CPU bus 1121 controlled by the CPU1101.

[0018] However, in the above-described conventional image processingsystem, since only one logical interface is assigned to a singlephysical interface, there is a great problem in a case where a dataprocessing terminal controls a multi-function facsimile apparatusintegrally having a plurality of functions, such as a printer, scanner,facsimile communication and so forth. More specifically, it isimpossible to simultaneously operate the plurality of functions, thusunable to sufficiently take advantage of the merit of the multi-functionfacsimile apparatus.

[0019] To force the simultaneous operation of the plurality offunctions, the following workload is required. More specifically, in adata processing terminal, it is necessary to add header informationspecifying a function, such as a printer, scanner, facsimilecommunication or the like, to the head of an intended control command,edit and packet the data, and transmit the packeted data to themulti-function facsimile apparatus. Therefore, there are great problemsin terms of an alteration workload of a driver which is installed in adata processing terminal, complexity of the control, and a throughput.

[0020] Moreover, in the multi-function facsimile apparatus whichreceives packeted data from the data processing terminal, it isnecessary to analyze the packeted data to specify whether the data isrelated to a printer, scanner, or facsimile communication. In addition,it is necessary to delete and edit the header information added to thehead of the control command. Therefore, there are great problems interms of complexity of the control and a throughput.

[0021] Furthermore, the main control unit and printing unit includedinside the facsimile apparatus are connected through one-way low-speedparallel communication dedicated to print data transfer. Therefore, inorder for the main control unit to acquire printing information of theprinting unit, it is necessary to provide a physical interfaceindependent of the one-way parallel communication. This also causes theproblems of an increased workload in designing products and complexityof the control. Further, if a printing unit capable of high-speedprinting is used, transfer speed of print data from the main controlunit to the printing unit is too slow to make the best use of theability of the printing unit.

[0022] In addition, in integrating a reading/writing device from/to adetachable storage medium in the image processing apparatus, anotherdifferent physical interface is necessary.

SUMMARY OF THE INVENTION

[0023] The present invention has been made in consideration of the abovesituation, and has as its object to easily realize simultaneousoperation of a plurality of functions, such as a printer, scanner,facsimile communication and so forth, in an image processing apparatus.

[0024] According to the present invention, the foregoing object isattained by providing an image processing apparatus comprising: a dataprocessing unit; a first interface unit, having a plurality of logicalchannels, adapted to connect with an external processing apparatus; asecond interface unit, having a logical channel that has a configurationdifferent from the first interface unit, adapted to connect with thedata processing unit; and a control unit adapted to control datatransfer between the first interface unit and the second interface unit.

[0025] According to another aspect of the present invention, theforegoing object is also attained by providing an image processingapparatus comprising: a bus connection unit adapted to connect thecontrol unit with a plurality of data processing units in two-waydirection; and a controller connected with the bus connection unit via abus, wherein the bus connection unit realizes two-way connection betweenthe controller and the plurality of data processing units.

[0026] Further, according to the present invention, the foregoing objectis also attained by providing a control method of an image processingapparatus including: a data processing unit; a first interface unit,having a plurality of logical channels, which is adapted to connect withan external processing apparatus; and a second interface unit, having alogical channel that has a configuration different from the firstinterface unit, which is adapted to connect with the data processingunit, the method comprising controlling data transfer between the firstinterface unit and the second interface unit.

[0027] Furthermore, according to another aspect of the presentinvention, the foregoing object is also attained by providing a controlmethod of an image processing apparatus including a bus connection unitadapted to connect the control unit with a plurality of data processingunits in two-way direction and a controller connected with the busconnection unit via a bus, wherein the bus connection unit realizestwo-way connection between the controller and the plurality of dataprocessing units, the method wherein acquiring attribute information ofthe plurality of data processing units through the bus connection unitat the time of power-on initialization of the image processingapparatus.

[0028] Other features and advantages of the present invention will beapparent from the following description taken in conjunction with theaccompanying drawings, in which like reference characters designate thesame or similar parts throughout the figures thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

[0029] The accompanying drawings, which are incorporated in andconstitute a part of the specification, illustrate embodiments of theinvention and, together with the description, serve to explain theprinciples of the invention.

[0030]FIG. 1 is a block diagram showing a construction of an imageprocessing apparatus according to a first embodiment of the presentinvention;

[0031]FIG. 2 is a block diagram showing a construction of a processingapparatus according to the first embodiment of the present invention;

[0032]FIG. 3 is a conceptual view showing a USB configuration of theimage processing apparatus according to the first embodiment of thepresent invention;

[0033]FIG. 4 is a conceptual view showing a USB configuration of aprinting unit according to the first embodiment of the presentinvention;

[0034]FIG. 5 is a flowchart describing initialization process operationof the image processing apparatus according to the first embodiment ofthe present invention;

[0035]FIG. 6 is a flowchart describing print-operation start procedureaccording to the first embodiment of the present invention;

[0036]FIG. 7 is a flowchart describing printing operation according tothe first embodiment of the present invention;

[0037]FIG. 8 is a flowchart describing transfer processing of print dataaccording to the first embodiment of the present invention;

[0038]FIG. 9 is a flowchart describing transfer processing of printstatus data according to the first embodiment of the present invention;

[0039]FIG. 10 is a block diagram showing a construction of an imageprocessing apparatus according to a second embodiment of the presentinvention;

[0040]FIG. 11 is a conceptual view showing a USB configuration of amemory card RW unit according to the second embodiment of the presentinvention;

[0041]FIG. 12 is an explanatory view of device descripter numericalstrings of a recording unit or the memory card RW unit according to thesecond embodiment of the present invention;

[0042]FIG. 13 is a flowchart describing initialization process operationof the image processing apparatus according to the second embodiment ofthe present invention;

[0043]FIG. 14 is a flowchart describing processing operation of theimage processing apparatus according to the second embodiment of thepresent invention; and

[0044]FIG. 15 is a block diagram showing a construction of aconventional image processing apparatus.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

[0045] A preferred embodiment of the present invention will be describedin detail in accordance with the accompanying drawings.

[0046] <First Embodiment>

[0047] First, a brief construction of an image processing apparatus 100,which constitutes an image processing system according to a firstembodiment of the present invention, is described in detail withreference to FIG. 1.

[0048] In the image processing apparatus 100, a CPU 101 serving as asystem control unit controls the entire image processing apparatus 100.ROM 102 stores control programs and an incorporated operating system(OS) program or the like, which are executed by the CPU 101. In thefirst embodiment, each of the control programs stored in the ROM 102realizes software controlling, e.g., scheduling, task switch,interruption and so on, under the control of the incorporated OS storedin the ROM 102.

[0049] RAM 103, configured with SRAM (static RAM) or the like, storesprogram control variables or the like, and setting values registered byan operator as well as control data of the image processing apparatus100, and so on, and includes a buffer area for various works. Imagememory 104, configured with DRAM (dynamic RAM) or the like, stores imagedata.

[0050] A data conversion unit 105 performs image data conversion, suchas interpretation of a page description language (PDL) or the like, CG(computer graphics) development of character data and so on.

[0051] A reading control unit 106 performs various image processing,e.g., binarization, halftone processing or the like, on an image signalobtained by a reading unit 107, which optically reads an originaldocument with the use of a contact image sensor (CIS) and converts theread data to electric image data, through an image processing controlunit (not shown) and outputs high-definition image data. Note in thefirst embodiment, the reading control unit 106 is adaptable to both asheet-reading control method of performing reading while conveying anoriginal document with the CIS fixed at a predetermined position, and abook-reading control method of scanning an original document placed on aplaten while moving the CIS.

[0052] An operation display unit 108, including numeric value inputkeys, character input keys, one-touch telephone number keys, modesetting keys, an OK key, a cancel key and so on, is constructed with anoperation unit for a user to decide image transmission destination dataor to perform registration operation of setting data, various keys, alight-emitting diode (LED), a liquid crystal display (LCD), and adisplay unit for displaying operator's various input operation and anoperation state or status of the image processing apparatus 100.

[0053] A communication control unit 109 is constructed with amodulator-demodulator (MODEM), a network control unit (NCU) and so on.In the first embodiment, the communication control unit 109 is connectedwith an analogue communication line (PSTN) 131 to perform, for instance,communication control according to the T30 protocol, or line controlsuch as call out and call in of the communication line. Note that thetypes of communication line and communication protocol are not limitedto those mentioned above, but regardless of wired or wireless, anavailable communication line and communication protocol may be employed.

[0054] A resolution conversion processing unit 110 performs resolutionconversion control, such as millimeter-to-inch resolution conversion ofimage data. Note that in the resolution conversion processing unit 110,enlargement/reduction processing of image data is possible. Acoding/decoding processing unit 111 performs coding/decoding processingon image data (MH, MR, MMR, JBIG, JPEG or the like) handled by the imageprocessing apparatus 100, or performs enlargement/reduction processing.

[0055] A print control unit 112 performs various image processing, suchas smoothing, print density correction, color correction and so on, onimage data subjected to printing through an image processing controlunit (not shown), and thus converts the data to high-definition imagedata to be outputted to a USB host control unit 114 (to be describedlater). Furthermore, by controlling the USB host control unit 114, theprint control unit 112 also serves to periodically acquire statusinformation data of the printing unit 115.

[0056] A USB function control unit 113, which performs communicationcontrol of a USB interface 117, performs protocol control according tothe USB communication standard, converts data transmitted from a USBcontrol task executed by the CPU 101 into packets, and transmits the USBpackets to an external data processing terminal, or inversely, convertsUSB packets from an external data processing terminal into data andtransmit the data to the CPU 101. The USB communication standardrealizes high-speed two-way data communication, and allows a pluralityof hubs or functions (slaves) to connect with one host (master). The USBfunction control unit 113 serves as the function in the USBcommunication.

[0057] The USB host control unit 114 is a control unit for performingcommunication according to a protocol defined in the USB communicationstandard. The USB host control unit 114 serves as the host in the USBcommunication.

[0058] The printing unit 115, which is a printing device configured witha laser beam printer, inkjet printer or the like, prints color imagedata or monochrome image data on a printing material. Further, EEPROM(Electronically Erasable and Programmable Read Only Memory), which doesnot require back-up power source, is provided inside of the printingunit 115, and stores print control parameters and the like. The printingunit 115 communicates with the USB host control unit 114 according to aprotocol defined in the USB communication standard, and is connectedwith the USB host control unit 114 through a USB interface 116.Particularly, the printing unit 115 serves as the function. In the firstembodiment, the USB communication for using a printing function adopts aone-to-one connection form.

[0059] The CPU 101 transmits data indicative of what kind of processingthe printing unit 115 is to perform to the USB host control unit 114.The USB host control unit 114 is connected with the CPU 101 via CPU bus121, and connected with the printing unit 115 via a USB interface 116.The USB host control unit 114 converts the data transmitted from the CPU101 to the printing unit 115 to a form so as to be transmitted accordingto a protocol defined in the USB communication standard, therebycontrolling the printing unit 115. Further, when the printing unit 115returns data to the CPU 101, the USB host control unit 114 converts thedata so as to be transmitted to the CPU 101 via the CPU bus 121. In thismanner, the USB host control unit 114 controls the printing unit 115,serving as a function in the USB communication standard, in place of theCPU 101.

[0060] The aforementioned components 101 to 106 and 108 to 114 areconnected to each other through a CPU bus 121 controlled by the CPU 101.

[0061] Next, a brief construction of a processing apparatus 200, e.g., adata processing terminal, which constitutes the image processing systemtogether with the image processing apparatus 100, is described withreference to FIG. 2.

[0062] A CPU 201 controls the entire operation of the processingapparatus 200 through a system bus, according to a program which is readout of ROM 202, RAM 203, or an internal storage device 204, or a programread out of an external storage medium 206 by an external storage device205.

[0063] The ROM 202 stores a control program or the like of the CPU 201.The RAM 203 temporarily stores a program or image data to enablehigh-speed processing of the processing apparatus 200.

[0064] The internal storage device 204 stores an operating system,various application programs, image data and so on. Assume that theinternal storage device 204 is installed with application software fortransmitting/receiving various commands and data to/from the imageprocessing apparatus 100, which include a character data processingsteps according to the first embodiment, printer driver software,scanner driver software, facsimile driver software, USB-class driversoftware for each function, USB bus driver software and so forth.Normally, these application software and driver software are installedby receiving data from the external storage disk 206 (medium such as afloppy disk or CD-ROM), storing the software under control of theexternal storage device 205. Alternatively, the application software anddriver software can be received by a communication unit 209 (network andmodem) through a communication line and installed in the internalstorage device 204.

[0065] An operation unit 207 controls a keyboard or a mouse (not shown),which serves as operator's designation input unit. To execute printing,normally the keyboard or mouse of the operation unit 207 is used.

[0066] A display unit 208 performs various displaying for an operator.In a case where execution of printing is designated in the externalprocessing terminal 200, a confirmation dialogue or the like isdisplayed on the display unit 208 to prompt an operator to input.Further, during execution of a printing operation, the display unit 208provide data indicative of print status to the operator.

[0067] The communication unit 209 realizes connection with a network(not shown), realizes connection with an Internet provider through acommunication line, or performs communication of data, image data or thelike with a destination communication apparatus. Note with respect toconnection with a network or a communication line, assume that awell-known method is used; thus a description thereof is omitted.

[0068] A USB host control unit 210, which performs communication controlof a USB interface, converts data from the CPU 201 into packets inaccordance with the USB communication standard and transmits the USBpackets to the image processing apparatus 100, or inversely, convertsUSB packets from the image processing apparatus 100 into data andtransmits the data to the CPU 201. With respect to a communicationcontrol method, assume that a well-known communication control method isused; thus a description thereof is omitted.

[0069]FIG. 3 is a conceptual view showing a configuration of the imageprocessing apparatus, the expression of the configuration is compliantwith the USB communication standard, according to the first embodimentof the present invention. The USB function control unit 113 controls theUSB interface according to this configuration.

[0070] A device 301 represented by the largest frame can be definedsolely in the USB communication standard, and indicates an attribute ofthe entire apparatus. The apparatus mentioned herein corresponds to theimage processing apparatus 100. The attribute of the device 301 isexpressed by a device descriptor, which includes an apparatusmanufacturer ID, a product ID, a release number, the number ofconfigurations and so forth. In the first embodiment, the number ofconfigurations is “1”.

[0071] Accordingly, in the device 301, only one configuration(configuration 1 (302)) is defined. An attribute of the configuration 1(302) is expressed by a configuration descriptor, which includes thenumber of interfaces in the configuration. In this embodiment, thenumber of interfaces is “3”.

[0072] Accordingly, in the configuration 1 (302), three interfaces(interfaces 0 to 2 (304, 307, 311)) are defined. Attributes of theinterfaces 0 to 2 (304, 307, 311) are expressed by an interfacedescriptor, which includes the number of end points in the interface, aclass code and so forth. In the first embodiment, the number of endpoints in the interface 0 (304) used for a printer is “2”; the number ofend points in the interface 1 (307) used for a scanner is “3”; and thenumber of end points in the interface 2 (311) used for FAXtransmission/reception is “3”.

[0073] Accordingly, in the interface 0 (304) used for a printer, two endpoints (end points 1 and 2 (305, 306)) are defined. Attributes of theend points 1 and 2 (305, 306) are expressed by an end point descriptor,which includes an end point number of the end point, a communicationdirection, the type of transfer, a packet size and so forth. The endpoint 1 (305) is used mainly for receiving control data or print data.The end point 2 (306) is used mainly for transmitting a received printstatus of print data.

[0074] Furthermore, in the interface 1 (307) used for a scanner, threeend points (end points 3, 4 and 5 (308, 309, 310)) are defined.Attributes of the end points 3, 4 and 5 (308, 309, 310) are expressed byan end point descriptor, which includes an end point number of the endpoint, a communication direction, the type of transfer, a packet sizeand so forth. The end point 3 (308) is used mainly for transmitting readdata. The end point 4 (309) is used mainly for receiving control data.The end point 5 (310) is used mainly for informing a start of scanning.

[0075] Furthermore, in the interface 2 (311) used for FAXtransmission/reception, three end points (end points 6, 7 and 8 (312,313, 314)) are defined. Attributes of the end points 6, 7 and 8 (312,313, 314) are expressed by an end point descriptor, which includes anend point number of the end point, a communication direction, the typeof transfer, a packet size and so forth. The end point 6 (312) is usedmainly for receiving control data and FAX transmission data. The endpoint 7 (313) is used mainly for transmitting FAX reception data and acommunication state of FAX transmission/reception. The end point 8 (314)is used mainly for informing an end of FAX reception.

[0076]FIG. 4 is a conceptual view showing a configuration of theprinting unit 115, the expression of the configuration is compliant withthe USB communication standard, according to the first embodiment of thepresent invention.

[0077] A device 401 represented by the largest frame can be definedsolely in the USB communication standard, and indicates an attribute ofthe entire apparatus. The apparatus mentioned herein corresponds to theprinting unit 115. The attribute of the device 401 is expressed by adevice descriptor, which includes an apparatus manufacturer ID, aproduct ID, a release number, the number of configurations and so forth.In the first embodiment, the number of configurations is “1”.

[0078] In the device 401, only one configuration (configuration 1 (402))is defined. An attribute of the configuration 1 (402) is expressed by aconfiguration descriptor, which includes the number of interfaces in theconfiguration. In the first embodiment, the number of interfaces is “1”.

[0079] Accordingly, in the configuration 1 (402), only one interface(interface 0 (404)) is defined. An attribute of the interface 0 (404) isexpressed by an interface descriptor, which includes the number of endpoints in the interface, a class code and so forth. In the firstembodiment, the number of end points in the interface 0 (404) used forprinting is “2”.

[0080] Accordingly, in the interface 0 (404) used for printing, two endpoints (end points 1 and 2 (405, 406)) are defined. Attributes of theend points 1 and 2 (405, 406) are expressed by an end point descriptor,which includes an end point number of the end point, a communicationdirection, the type of transfer, a packet size and so forth. The endpoint 1 (405) is used mainly for receiving control data and print data.The end point 2 (406) is used mainly for transmitting a received printstatus of print data. Further, the end point 0 (403) is a logicalchannel for control used for acquiring each of the aforesaiddescriptors, for instance.

[0081] Next, an initialization processing of the image processingapparatus 100, having the above-described construction, is described indetail with reference to the flowchart in FIG. 5. Note that theinitialization processing is executed by the CPU 101.

[0082] When the power of the image processing apparatus 100 is turnedon, in step S501, initialization of the peripheral circuits connectedwith the CPU bus 121 is performed.

[0083] Next in step S502, it is determined whether or not initializationof the printing unit 115, controlled by another CPU (not shown)different from the CPU 101, has been completed. If YES, the controlproceeds to step S503. If NO, step S502 is repeated. Completion ofinitialization of the printing unit 115 can be detected by a USBinterface of the USB host control unit 114. Alternatively, it can alsobe detected by directly connecting the CPU 101 and printing unit 115with a monitoring line.

[0084] In step S503, the CPU 101 acquires data indicative of theapparatus configuration of the printing unit 115, which is detected bythe USB host control unit 114, and transmits an apparatus configurationdetermination command (Set_Configuration command) to the printing unit115 to be activated. For the data acquisition of apparatus configurationof the printing unit 115, the USB interface is employed. The apparatusconfiguration data is transmitted or received via a logical channel ofthe end point 0 (403) shown in FIG. 4, which is used for apparatuscontrolling. The apparatus configuration data of the printing unit 115includes the above-described device descriptor, configurationdescriptor, interface descriptor, end point descriptors (1, 2) and soon, and further includes character strings representing a manufacturerof the printing unit 115, a product name, a serial number and so on. Fortransmitting the apparatus configuration determination command to theprinting unit 115, the USB interface is employed. The transmission dataof the apparatus configuration determination command is transmitted viathe logical channel of the end point 0 (403) shown in FIG. 4, which isused for apparatus controlling. By executing the foregoing step at thetime of power-on initialization of the image processing apparatus 100,it is possible to assure initialization of the image processingapparatus 100. Moreover, when the apparatus configuration data of theentire image processing apparatus 100 is informed to the processingapparatus 200 (to be described later), it is possible to respond quicklyto an apparatus configuration data acquisition command transmitted fromthe processing apparatus 200.

[0085] In step S504, apparatus configuration data of the entire imageprocessing apparatus 100 is generated. The apparatus configuration datais transmitted or received via a logical channel of the end point 0(303) shown in FIG. 3, which is used for apparatus controlling. Theapparatus configuration data of the entire image processing apparatus100 includes the above-described device descriptor, configurationdescriptor, interface descriptors (0 to 2), end point descriptors (1 to8) and so on, and further includes a character string representing amanufacturer of the entire image processing apparatus 100, a productname character string, a serial number character string and so on.

[0086] As a part of the apparatus configuration data of the entire imageprocessing apparatus 100, the part of the apparatus configuration dataof the printing unit 115 acquired in step S503 is used. For instance,the interface descriptor 0 (304) used for a printer, shown in FIG. 3, isformed to have the same configuration of the interface descriptorreceived from the printing unit 115 in step S503, so that print datatransmitted from the processing apparatus 200 to the image processingapparatus 100 through the USB interface can be transferred to theprinting unit 115 through the USB interface without a change, or printstatus data transmitted from the printing unit 115 to the USB hostcontrol unit 114 through the USB interface can be transferred to theprocessing apparatus 200 through the USB interface without a change.

[0087] By performing the aforementioned control, it is possible toconfigure the image processing apparatus 100 independent of the type ofprinting unit 115. More specifically, even in a case where the printingunit 115 is changed to a latest printing unit, the processing stepsshown in the flowchart in FIG. 5 need not be changed.

[0088] In step S505, to permit communication between the imageprocessing apparatus 100 and processing apparatus 200, the USB functioncontrol unit 113 is shifted to a communication effective state. By thisstage, initialization of the entire image processing apparatus 100 ends,and the apparatus holds an event-wait state during standby.

[0089] In step S506, it is determined whether or not the imageprocessing apparatus 100 is connected with the processing apparatus 200.If YES, the control proceeds to step S507. If NO, step S506 is repeated.The detection of the connection between the image processing apparatus100 and processing apparatus 200 can be performed by a USB interface ofthe USB function control unit 113.

[0090] In step S507, it is determined whether or not an apparatusconfiguration data acquisition command (e.g., Get_Device_Descriptorcommand, Get_Configuration_Descriptor command, Get_String_Descriptorcommand, Get_Device_ID command) is received from the processingapparatus 200 which is connected with the image processing apparatus100. If YES, the control proceeds to step S508. If NO, step S507 isrepeated.

[0091] In step S508, the CPU 101 informs the processing apparatus 200 ofthe apparatus configuration data of the entire image processingapparatus 100, which is generated in step S504. The apparatusconfiguration data is transmitted via the logical channel of the endpoint 0 (303) shown in FIG. 3, which is used for apparatus controlling.

[0092] In step S509, it is determined whether or not the imageprocessing apparatus 100 has received an apparatus configurationdetermination command (Set_Configuration command) from the processingapparatus 200. If YES, the control proceeds to step S510. If NO, stepS509 is repeated. The apparatus configuration determination command isreceived via the logical channel of the end point 0 (303) shown in FIG.3, which is used for apparatus controlling.

[0093] In step S510, the image processing apparatus 100 makes theapparatus configuration (configuration) usable, and shifts to aprint-data-reception standby state.

[0094] At this stage, if there is an error of some kind in the printingunit 115, such as no ink, no toner, no printing paper, paper jamming orthe like, and the printing unit 115 is not ready to receive the printdata, the USB function control unit 113 and processing apparatus 200 areset in the state where print data reception is not ready. For instance,if the printing unit 115 detects a crucial error within the printingunit 115 at the time of initializing the printing unit 115 in step S502,the printing unit 115 sets the state where print data cannot bereceived. The CPU 101, which detects this state through the USB hostcontrol unit 114 in step S503, sets the USB function control unit 113 instep S504 in the state where print data reception is not ready, andinforms the processing apparatus 200 of this state in step S508. Byvirtue of this control, the processing apparatus 200 can be informedthat the printing unit 115 is not ready to receive print data.Accordingly, since the print data from the processing apparatus 200 isno longer stored and retained in the image memory 104, operationtroubles can be prevented.

[0095] Moreover, also in a case where a similar error occurs in theprinting unit 115 in a standby state after initialization or aftercompletion of printing operation, the state where print data receptionis not ready is set in the USB function control unit 113 to achieve thesimilar effect.

[0096] Furthermore, the above description also applies to a case wherethe printing unit 115 is not ready to transmit data indicative of printstatus. If there is an error of some kind in the printing unit 115, suchas no ink, no toner, no printing paper, paper jamming or the like, andthe printing unit 115 is not ready to transfer the data indicative ofprint status, the USB function control unit 113 and processing apparatus200 are set in the state where print-status-data transfer is not ready.For instance, if the printing unit 115 detects a crucial error withinthe printing unit 115 at the time of initializing the printing unit 115in step S502, the printing unit 115 sets the state where data indicativeof print state cannot be transferred. The CPU 101, which detects thisstate through the USB host control unit 114 in step S503, sets the USBfunction control unit 113 in step S504 in the state whereprint-status-data transfer is not ready. By virtue of this control, evenin a case where a transfer request of the data indicative of printstatus is transmitted by the processing apparatus 200, the processingapparatus 200 can be informed that the printing unit is not ready totransfer data indicative of print status by returning the state whereprint-status-data transfer is not ready to the processing apparatus 200.Accordingly, operation troubles in the processing can be prevented.

[0097] Moreover, also in a case where a similar error occurs in theprinting unit 115 in a standby state after initialization or aftercompletion of printing operation, the state where print-status-datatransfer is not ready is set in the USB function control unit 113 toachieve the similar effect.

[0098] Note that steps S503 and S504 are not necessarily performedimmediately after step S502. For instance, processing of steps S503 andS504 may be performed immediately after the connection between the imageprocessing apparatus 100 and processing apparatus 200 is confirmed instep S506. In this case, it is possible to reduce the power-oninitialization processing of the image processing apparatus 100, therebyreduce the time lag between the power-on and apparatus-ready state ofthe image processing apparatus 100.

[0099] Alternatively, steps S503 and S504 may be performed immediatelyafter the apparatus configuration data acquisition command is receivedfrom the processing apparatus 200 connected with the image processingapparatus 100 in step S507. In this case, until the apparatusconfiguration data acquisition command is received, it is not necessaryto acquire apparatus configuration data of the printing unit 115 orgenerate apparatus configuration data of the entire image processingapparatus 100. Accordingly, an algorithm of the control program can besimplified.

[0100] Furthermore, in step S503, the acquisition of the apparatusconfiguration data from the printing unit 115 and transmission of theapparatus configuration determination command to the printing unit 115are not necessarily performed simultaneously. For instance, thetransmission of the apparatus configuration determination command to theprinting unit 115 may be executed at the timing that print data isreceived from the processing apparatus 200. In this case, by virtue ofseparately performing the acquisition of the apparatus configurationdata from the printing unit 115 and the transmission of the apparatusconfiguration determination command to the printing unit 115, an effectof clarified algorithm of the control program can be expected.

[0101] Next, printing operation of the image processing apparatus 100 isdescribed in detail with reference to FIGS. 6 to 9.

[0102]FIG. 6 is a flowchart describing print-operation start of theimage processing apparatus 100, which is executed by the CPU 101.

[0103] First, in step S701, it is determined whether or not the imageprocessing apparatus 100 has received print data from the processingapparatus 200. If YES, the control proceeds to step S702. If NO, stepS701 is repeated. The print data is received via a logical channel ofthe end point 1 (305) shown in FIG. 3, which is used for receivingcontrol data and print data. Furthermore, the print data is received ina packet form, delimited in a predetermined length.

[0104] In step S702, the image processing apparatus 100 shifts to aprinting mode for printing the print data received from the processingapparatus 200. Details of the printing mode will be described later.When the printing mode is completed, the image processing apparatus 100shifts again to the standby state for receiving print data from theprocessing apparatus 200.

[0105]FIG. 7 is a flowchart describing printing operation of the imageprocessing apparatus 100, which is executed by the CPU 101, in theprinting mode shown in step S702 of FIG. 6.

[0106] First, in step S801, it is determined whether or not the imageprocessing apparatus 100 has received print data from the processingapparatus 200. If YES, the control proceeds to step S802. If NO, thecontrol proceeds to step S803. The print data is received via thelogical channel of the end point 1 (305) shown in FIG. 3, which is usedfor receiving control data and print data. The received print data istemporarily stored in the image memory 104 of the image processingapparatus 100. Furthermore, the print data is received in a packet form,delimited in a predetermined length.

[0107] In step S802, the image processing apparatus 100 transfers theprint data, received from the processing apparatus 200 and stored in theimage memory 104, to the printing unit 115. Details of the print datatransfer will be described later. Upon completion of the processing instep S802, the control proceeds to step S803.

[0108] In step S803, it is determined whether or not the imageprocessing apparatus 100 has received a print status notificationrequest from the processing apparatus 200. If YES, the control proceedsto step S804. If NO, the control proceeds to step S805. The print statusnotification request is received via a logical channel of the end point2 (306) shown in FIG. 3, which is used for transmitting a print status.Note the reception of the print status notification request is notreception of actual data, but is reception of an IN packet compliantwith the USB communication standard.

[0109] In step S804, the image processing apparatus 100 receives dataindicative of print status from the printing unit 115, and transfers thereceived data indicative of print status to the processing apparatus200. Details of the print-status-data transfer will be described later.Upon completion of the processing in step S804, the control proceeds tostep S805.

[0110] In step S805, it is determined whether or not print data from theprocessing apparatus 200 has ended. If YES, the control proceeds to stepS806. If NO, the control returns to step S801. The end of print datafrom the processing apparatus 200 can be detected by analyzing only apart of the data indicative of print status, which is acquired in stepS804, and determining whether printing operation is in progress orcompleted. Herein, the data indicative of print status is a series ofcharacter strings representing whether printing of the printing unit 115is in progress or completed, the residual amount of toner or ink in theprinting unit 115, a print error state of the printing unit 115, theremaining amount of memory in the printing unit 115 and so forth.Analyzing a part of the data indicative of print status indicates thefollowing processing. Namely, only a character string indicative ofwhether printing of the printing unit 115 is in progress or completed isextracted from the data indicative of print status of the printing unit115 (a series of character strings representing whether printing of theprinting unit 115 is in progress or completed, the residual amount oftoner or ink in the printing unit 115, a print error state of theprinting unit 115, the remaining amount of memory in the printing unit115 and so forth), which is temporarily stored in the image memory 104of the image processing apparatus 100, and analyzed as to whether theprinting is in progress or completed. Herein, the data indicative ofprint status of the printing unit 115 is not analyzed entirely.According to this determination method, since data indicative of printstatus is not entirely analyzed, but only a character string indicativeof whether printing of the printing unit 115 is in progress or completedis extracted and analyzed, it is possible to assure detection of printcompletion while reducing a processing load of the CPU 101.

[0111] Note that the print data end detection method is not limited tothe above-described method but, for instance, the following method isavailable. More specifically, print data from the processing apparatus200 is normally transmitted in a packet having a predetermined fixedlength. For instance, it is often the case that 64 bytes are used as atransfer unit. However, print data from the processing apparatus 200does not always have a data length which is exactly divisible by 64bytes. In this case, the last packet of the print data from theprocessing apparatus 200 is naturally a short packet having less than 64bytes. For instance, assume that a print data length is 100,000 bytesand a normally used packet length is 64 bytes. Dividing the total printdata length 100,000 bytes by the packet length 64 bytes results inquotient 1,562 with remainder 32. Therefore, the CPU 101 transfers 1,56264-byte packets and one short 32-byte packet. By detecting the lastshort packet, the end of print data can be detected. Furthermore, theremay be a case where the total print data length is exactly divisible by64 bytes. In this case, it is a general practice to transfer a nullpacket having 0 data length after all the print data is transferred. Bydetecting the null packet, the CPU 101 is able to detect the end ofprint data even in a case where the total print data length is exactlydivisible by 64 bytes. According to this determination method, by merelymonitoring a packet length of print data from the processing apparatus200, it is possible to assure detection of print completion, and asimplified processing program can be expected.

[0112] Alternatively, the following print data end detection method ispossible. More specifically, referring to FIG. 7, when print datareception ends, the control no longer proceeds to step S802. The numberof times the control directly proceeds from step S801 to S803consecutively is counted, and when the counted number exceeds apredetermined value, the end of print data can be determined. Accordingto this determination method, by merely counting the number of times thecontrol directly proceeds from step S801 to S803 and determining whetheror not a predetermined number of times has been counted, it is possibleto assure detection of print completion, and a simplified processingprogram can be expected.

[0113] Furthermore, the following print data end detection method ispossible. More specifically, referring to FIG. 7, when print datareception ends, the control no longer proceeds to step S802. The timeperiod the control directly proceeds from step S801 to S803consecutively is timed, and when the time period exceeds a predeterminedtime period, print data end can be determined. According to thisdetermination method, by merely timing the time period the controldirectly proceeds from step S801 to S803 and determining whether or nota predetermined time period has lapsed, it is possible to assuredetection of print completion, and a simplified processing program canbe expected.

[0114] When print completion is determined in step S805, the controlproceeds to step S806 where print-operation completion processing isperformed. Print-operation completion processing includes discharging aprinting material outside the apparatus, sounding print-operationcompletion alarm from a speaker (not shown), informing print-operationcompletion by the operation display unit 108 or display unit 208, and soforth.

[0115]FIG. 8 is a flowchart describing print data transfer processing ofthe image processing apparatus 100 executed by the CPU 101, which isperformed in step S802 in FIG. 7.

[0116] In step S901, the print data received in step S801 is transferredto the printing unit 115. The CPU 101 temporarily stores in the imagememory 104 of the image processing apparatus 100 the print data receivedvia the logical channel of the end point 1 (305) shown in FIG. 3, whichis used for receiving control data and print data, and transfers thedata to a logical channel of the end point 1 (405) shown in FIG. 4,which is used for receiving control data and print data. At this stage,the CPU 101 transfers the print data as it is, without performing anyediting or processing on the content of the print data transferred fromthe end point 1 (305) to the end point 1 (405). The print data istransferred in a packet form, delimited in a predetermined length. Notethat the interface 0 (304) in the device 301 shown in FIG. 3 andinterface 0 (404) in the device 401 shown in FIG. 4 are employed so thatone can assume the other does not exist. More specifically, processingof the printer driver software installed in the processing apparatus 200is not at all different from the case where the processing apparatus 200is directly connected with the printing unit 115 through a USBinterface. Therefore, in a case where the printing unit 115 is changedto a different one, the printer driver software for the changed printingunit can be used without a change.

[0117]FIG. 9 is a flowchart describing print-status-data transferprocessing of the image processing apparatus 100 executed by the CPU101, which is performed in step S804 in FIG. 7.

[0118] In step S1001, the CPU 101 acquires data indicative of printstatus from the printing unit 115 by controlling the USB host controlunit 114. The data indicative of print status is acquired via thelogical channel of the end point 2 (406) shown in FIG. 4, which is usedfor transmitting a print status. The acquired data indicative of printstatus is temporarily stored in the image memory 104 of the imageprocessing apparatus 100. Note that the acquired data indicative ofprint satatus has a packet form delimited in a predetermined length.

[0119] In step S1002, the CPU 101 transmits the data indicative of printstatus, which is temporarily stored in the image memory 104 of the imageprocessing apparatus 100, to the logical channel of the end point 2(306) shown in FIG. 3 which is used for transmitting a print status. Atthis stage, the CPU 101 transfers the data indicative of print status asit is, without performing any editing or processing on the content ofthe data indicative of print status which is transferred from the endpoint 2 (406) to the end point 2 (306). Furthermore, at this stage, byanalyzing a part of the data indicative of print status which istemporarily stored in the image memory 104 of the image processingapparatus 100, print completion can be detected to be used for the printcompletion determination in step S805 in FIG. 7. The print status datais transferred in a packet form, delimited in a predetermined length.Note that the interface 0 (404) in the device 401 shown in FIG. 4 andinterface 0 (304) in the device 301 shown in FIG. 3 are employed so thatone can assume the other does not exist. More specifically, processingof the printer driver software installed in the processing apparatus 200is not at all different from the case where the processing apparatus 200is directly connected with the printing unit 115 through a USBinterface. Therefore, in a case where the printing unit 115 of otherproducts is changed to a different one, the printer driver software forthe changed printing unit can be used without a change.

[0120] Although the first embodiment has described a case where theprinting unit is connected to the USB host control unit 114 by using aunique USB interface, the present invention is not limited to a printingunit. In place of the printing unit, by similarly connecting a readingunit for reading an original document, an image sensing unit such as adigital camera for sensing an object, or a communication unit fortransmitting/receiving data to/from an external apparatus through acommunication line, and performing the similar processing, the similareffects can be expected.

[0121] As has been described above in detail, by virtue of adoptingphysical interfaces compliant with the USB standard between a dataprocessing terminal and a facsimile apparatus and providing a pluralityof logical channels (USB composite device) compliant with the USBstandard, great effects can be expected in a case where a dataprocessing terminal controls a multi-function apparatus integrallyhaving a plurality of functions, such as a printer, scanner, facsimilecommunication and so forth. More specifically, by providing a pluralityof logical channels, it is possible to simultaneously operate theplurality of functions, and sufficiently take advantage of the merit ofthe multi-function apparatus.

[0122] Furthermore, the following workload is reduced as simultaneousoperation need not be forced. In a data processing terminal, it is nolonger necessary to add header information, which specifies a function,such as a printer, scanner, digital camera, facsimile communication orthe like, to the head of an intended control command, edit and packetthe data, and transmit the packeted data to the multi-functionapparatus. For this reason, great effects can be expected in terms of aworkload for altering a driver which is installed in a data processingterminal, complexity of the control, and a throughput.

[0123] Moreover, in the multi-function apparatus which does not receivepacketed data from the data processing terminal, it is no longernecessary to analyze the packeted data to specify whether the data isrelated to a printer, scanner, or facsimile communication. In addition,it is no longer necessary to delete and edit the header informationadded to the head of the control command. For this reason, great effectscan be expected in terms of complexity of the control and a throughput.

[0124] Furthermore, by virtue of adopting the physical interfacescompliant with the USB standard also in the main control unit andprinting unit in the facsimile apparatus, it is no longer necessary toprovide other physical interfaces besides the USB interface. Therefore,reduction of steps in designing the apparatus, easy diversion, andimproved data transmissivity can be greatly expected.

[0125] Moreover, in a case where the printing unit only is changed to alatest printing unit, the control processing of the image processingapparatus need not be changed.

[0126] Furthermore, in a case where the printing unit only is changed toa latest printing unit, the printer driver software corresponding to thelatest printing unit can be used without a change.

[0127] Moreover, even in a case where a crucial error occurs in theprinting unit, operation troubles of an external processing apparatuscan be prevented.

[0128] Furthermore, when printing operation is performed from anexternal processing apparatus, print completion of the printing unit canbe detected with simple control processing.

[0129] <Second Embodiment>

[0130] Next, the second embodiment of the present invention will beexplained.

[0131]FIG. 10 shows a brief construction of an image processingapparatus 100′, which constitutes an image processing system accordingto a second embodiment of the present invention. Referring to FIG. 10, amemory card RW (read/write) unit 119 is added to the construction shownin FIG. 1. In FIG. 10, the same units and elements as those in FIG. 1are referred by the same reference numerals, and explanation of thoseare omitted.

[0132] The memory card RW unit 119, which is controlled by a dedicatedCPU (not shown), can write data received via an USB interface and readdata to/from a recording medium such as a memory card (e.g., compactflash card (treadmark) and smart media card) on which flash memory ismainly mounted. The memory card RW unit 119 communicates with the USBhost control unit 114 according to a protocol defined in the USBcommunication standard. Particularly, the memory card RW unit 119 servesas the function.

[0133] In the second embodiment, two kinds of units, namely the printingunit 115 and the memory card RW unit 119, are connected with the USBhost control unit 114, and thus a USB interface forms a one-to-twoconnection. In the connection between the USB host control unit 114 andthe printing unit 115, two logical channels compliant with the USBcommunication standard are prepared, one of which is used for image datatransmission from the USB host control unit 114 to the printing unit115, and the other is used for status information transmission from theprinting unit 115 to the USB host control unit 114. In addition, alogical channel for control, which is required in the USB communicationstandard, is also prepared.

[0134] As for the connection between the USB host control unit 114 andthe memory card RW unit 119, two logical channels for control compliantwith the USB communication standard are prepared, one of which is usedfor transmission of a command and data to be written to a media(referred to as “write data”, hereinafter) from the USB host controlunit 114 to the memory card RW unit 119, and the other is used fortransmission of status information and read data from the memory card RWunit 119 to the USB host control unit 114. In addition, a logicalchannel for control, which is required in the USB communicationstandard, is also prepared.

[0135] The components 101 to 106 and 108 to 114 are connected to eachother through a CPU bus 121 controlled by the CPU 101.

[0136] Next, attribute information of the memory card RW unit 119 whichis transmitted from the memory card RW unit 119 to the CPU 101 via theUSB host control unit 114 is explained in detail. Note, since theconstruction of the printing unit 115 according to the USB communicationstandard is the same as that described in the first embodiment withrespect to FIG. 4, the explanation of it is omitted.

[0137]FIG. 11 is a conceptual view showing attribute information of theUSB interface of the memory card RW unit 119 according to the secondembodiment of the present invention.

[0138] A device 501 represented by the largest frame can be definedsolely in the USB communication standard, and indicates an attribute ofthe entire apparatus. The attribute of the device 501 is expressed by anumerical string (will be described later in detail) of a devicedescriptor which includes an apparatus manufacturer ID, a product ID, arelease number, the number of configurations and so forth. In the secondembodiment, the number of configurations of the memory card RW unit 119is “1”.

[0139] In the device 501, only one configuration (configuration 1 (502))is defined. An attribute of the configuration 1 (502) is expressed by anumerical string of a configuration descriptor, which includes thenumber of interfaces in the configuration. In the second embodiment, thenumber of interfaces is “1”.

[0140] Accordingly, in the configuration 1 (502), only one interface(interface 0 (504)) is defined. An attribute of the interface 0 (504) isexpressed by a numerical string of an interface descriptor, whichincludes the number of end points of the interface, a class code and soforth. In the second embodiment, the number of end points in theinterface 0 (504) used for the memory card RW unit 119 is “2”.

[0141] Accordingly, in the interface 0 (504) used for the memory card RWunit 119, two end points (end points 1 and 2 (505, 506)) are defined.Attributes of the end points 1 and 2 (505, 506) are expressed by numeralstrings of an end point descriptor, which includes an end point numberof the end point, a communication direction, the type of transfer, amaximum packet size and so forth. The end point 1 (505) is used mainlyfor receiving command data and write data. The end point 2 (506) is usedmainly for transmitting status data and read data from the memory cardRW unit 119 to the CPU 101. Further, the end point 0 (503) is used bythe CPU 101 to acquire each of the aforesaid descriptors of the memorycard RW unit 119, for instance.

[0142] Next, the numerical string of the device descriptor, which isattribute information of, e.g., the device 401 or 501 is described indetail.

[0143]FIG. 12 shows the numerical string of the attribute information,which is transmitted from the printing unit 115 or the memory card RWunit 119 to the CPU 101 via the USB host control unit 114, of a USBinterface according to the second embodiment of the present invention.

[0144] The numerical string of a device descriptor has the total lengthof 18-byte, and is expressed in the hexadecimal system {12h, 01h, 00h,02h, 00h, 00h, 00h, 40h, xxh, xxh, xxh, xxh, 00h, 01h, 01h, 02h, 03h,01h}. xxh represents arbitrary one-byte data. “12h” of an offset 0represents the total length of the device descriptor (1401). “01h” of anoffset 1 represents a type of the descriptor (1402). In the devicedescriptor, it is fixed to “01h”. “0200h” of offsets 2 and 3 representsthe version number (1403, 1404) of the USB communication standard withwhich the device is compliant. In the second embodiment, the versionnumber with which the device is compliant is USB 2.0. “00h” of an offset4 represents a class code (1405) to support, which is usually fixed to“00h”. “00h” of an offset 5 represents a subclass code (1406) tosupport, which is usually fixed to “00h”. “00h” of an offset 6represents a protocol (1407) to support, which is usually fixed to“00h”. “40h” of an offset 7 represents the maximum packet size (1408) ofthe end point 0 (403 in FIG. 4 and 503 in FIG. 11). The USBcommunication standard adapts a packet communication method of dividingand transmitting data by packets. The end point 0 (403 in FIG. 4 and 503in FIG. 11) shows the maximum packet size when the logical channel forcontrol is used.

[0145] “xxxxh” of offsets 8 and 9 represents a manufacturer ID (1409,1410). A unique number is assigned to each manufacturer by a groupmanaging the USB communication standard. “xxxxh” of offsets 10 and 11represents a product ID (1411, 1412). A manufacturer can assign a uniquenumber to each product. “0100h” of offsets 12 and 13 represents arelease number (1413, 1414). A manufacturer can decide a number formanaging release of each product. “01h” of an offset 14 represents anindex (1415) to a character string of the manufacturer name. “02h” of anoffset 15 represents an index (1416) to a character string of a productname. “03h” of an offset 16 represents an index (1417) to a characterstring of a serial number. “01h” of an offset 17 represents the number(1418) of configurations in the device 401 of the printing unit 115 orthe device 501 of the memory card RW unit 119.

[0146] Next, an initialization processing of the image processingapparatus 100′ is described.

[0147]FIG. 13 is a flowchart showing the initialization processing ofthe image processing apparatus 100′ executed by the CPU 101 according tothe second embodiment of the present invention.

[0148] When the power of the image processing apparatus 100′ is turnedon, in step S1501, initialization of the all peripheral circuitsconnected with the CPU bus 121 is performed.

[0149] Next in step S1502, it is determined whether or notinitialization of the printing unit 115, controlled by another CPU (notshown) different from the CPU 101, has been completed. If YES, thecontrol proceeds to step S1503. If NO, step S1502 is repeated.Completion of initialization of the printing unit 115 can be detected bya USB interface of the USB host control unit 114. Alternatively, it canalso be detected by directly connecting the CPU 101 and printing unit115 with a monitoring line.

[0150] In step S1503, the CPU 101 acquires attribute information of theprinting unit 115 via the USB host control unit 114. For the attributeinformation acquisition of the printing unit 115, the USB interface isemployed. The apparatus attribute information data is transmitted orreceived via a logical channel of the end point 0 (403) shown in FIG. 4,which is used for apparatus controlling. The data showing attributeinformation of the printing unit 115 includes the above-described devicedescriptor, configuration descriptor, interface descriptor, end pointdescriptors (1, 2) and so on, and further includes character stringsrepresenting a manufacturer of the printing unit 115, a product name, aserial number and so on.

[0151] In step S1504, whether or not the attribute information of theprinting unit 115 obtained in step S1504 is effective is determined. IfYES, the control proceeds to step S1505. If NO, the control proceeds tostep S1506. Effectiveness of the attribute information is determined asfollows. Namely, the CPU 101 extracts a numerical string of the productID (1411, 1412) out of the numerical string (shown in FIG. 12) of thedevice descriptor of the printing unit 115 obtained in step S1503. TheCPU 101 determines whether the attribute information of the connectedprinting unit 115 is effective or ineffective on the basis of theextracted product ID. Alternatively, the CPU 101 may further extract anumerical string of a release number (1413, 1414) out of the numericalstring (shown in FIG. 12) of the device descriptor of the printing unit115 obtained in step S1503 and determine whether the attributeinformation of the connected printing unit 115 is effective orineffective on the basis of the product ID and the extracted releasenumber of the printing unit 115.

[0152] If it is determined in step S1504 that the attribute informationis effective, the CPU 101 makes the connected printing unit 115effective in step S1505. “(to) Make the printing unit 115 effective”means that the CPU 101 performs in a process described later (shown inFIG. 14) transmission of print data to the printing unit 115 andacquisition of print status of the printing unit 115.

[0153] If it is determined in step S1504 that the attribute informationis ineffective, the CPU 101 makes the connected printing unit 115ineffective in step S1506. “(to) Make the printing unit 115 ineffective”means that the CPU 101 does not perform in the process described later(shown in FIG. 14) transmission of print data to the printing unit 115and acquisition of print status of the printing unit 115.

[0154] Next in step S1507, it is determined whether or notinitialization of the memory card RW unit 119, controlled by another CPU(not shown) different from the CPU 101, has been completed. If YES, thecontrol proceeds to step S1508. If NO, step S1507 is repeated.Completion of initialization of the memory card RW unit 119 can bedetected by a USB interface of the USB host control unit 114.Alternatively, it can also be detected by directly connecting the CPU101 and memory card RW unit 119 with a monitoring line.

[0155] In step S1508, the CPU 101 acquires attribute information of thememory card RW unit 119 via the USB host control unit 114. For theattribute information acquisition of the memory card RW unit 119, theUSB interface is employed. The attribute information of the device istransmitted or received via a logical channel of the end point 0 (503)shown in FIG. 11, which is used for apparatus controlling. The datashowing attribute information of the memory card RW unit 119 includesthe above-described device descriptor, configuration descriptor,interface descriptor, end point descriptors (1, 2) and so on, andfurther includes character strings representing a manufacturer name ofthe memory card RW unit 119, a product name, a serial number and so on.

[0156] In step S1509, whether or not the attribute information of thememory card RW unit 119 obtained in step S1508 is effective isdetermined. If YES, the control proceeds to step S1510. If NO, thecontrol proceeds to step S1511. Effectiveness of the attributeinformation is determined as follows. Namely, the CPU 101 extracts anumerical string of the product ID (1411, 1412) out of the numericalstring (shown in FIG. 12) of the device descriptor of the memory card RWunit 119 obtained in step S1508. The CPU 101 determines whether theattribute information of the connected memory card RW unit 119 iseffective or ineffective on the basis of the extracted product ID.Alternatively, the CPU 101 may further extract a numerical string of arelease number (1413, 1414) out of the numerical string (shown in FIG.12) of the device descriptor of the memory card RW unit 119 obtained instep S1508 and determine whether the attribute information of theconnected memory card RW unit 119 is effective or ineffective on thebasis of the product ID and the extracted release number of the printingunit 115.

[0157] If it is determined in step S1509 that the attribute informationis effective, the CPU 101 makes the connected memory card RW unit 119effective in step S1510. “(to) Make the memory card RW unit 119effective” means that the CPU 101 performs in a process described later(shown in FIG. 14) transmission of command and write data to the memorycard RW unit 119 and acquisition of status and read data of/from thememory card RW unit 119.

[0158] If it is determined in step S1509 that the attribute informationis ineffective, the CPU 101 makes the connected memory card RW unit 119ineffective in step S1511. “(to) Make the memory card RW unit 119ineffective” means that the CPU 101 does not perform in the processdescribed later (shown in FIG. 14) transmission of command and writedata to the memory card RW unit 119 and acquisition of status and readdata of/from the memory card RW unit 119.

[0159] The initialization processing of the image processing apparatus100′ is completed after the foregoing processing.

[0160] Next, a processing sequence performed by the CPU 101 of the imageprocessing apparatus 100′ for the printing unit 115 and the memory cardRW unit 119 is explained in detail with reference to FIG. 14.

[0161] The flowchart in FIG. 14 shows an operation of a USB host controltask executed under the control of the incorporated operating system,and the CPU 101 apparently performs a task or tasks other than the taskshown in FIG. 14 in parallel by scheduling, using task switch, and/orinterrupting under the control of the incorporated operating system.

[0162] When the operation of the USB host control task starts, the CPU101 determines whether the printing unit 115 is effective and print dataexists in step S1701. If YES, the control proceeds to step S1702. If NO,the control proceeds to step S1703. The CPU 101 decides theeffectiveness of the printing unit 115 by the processes performed insteps S1504, S1505, and S1506.

[0163] As for determination of the existence of print data to beprocessed in the printing unit 115, the following method is used. First,a memory area for storing print data to be transmitted to the printingunit 115 is secured in the image memory 104 of the image processingapparatus 100′. Then, when the image processing apparatus 100′ isperforming copying operation processing, a read task governing a readoperation controls the reading control unit 106 to convert read image ofa document to print data, and puts the print data in the memory areasecured for print data storage. Further, when the image processingapparatus 100′ is performing facsimile receiving operation processing, afacsimile communication task governing a facsimile communicationoperation controls the communication control unit 109 to put image datareceived via facsimile in the memory area secured for print datastorage. The CPU 101 detects whether or not the print data is in thememory area secured for print data storage, thereby determines whetheror not print data to be transmitted to the printing unit 115 exists.

[0164] If it is determined in step S1701 that the printing unit 115 iseffective and print data to the printing unit 115 exists, the CPU 101controls the USB host control unit 114 to transmit the print data to theprinting unit 115 in step S1702. Note, transmission of the print data tothe printing unit 115 is performed as follows. When the CPU 101recognizes the existence of the print data to be transmitted to theprinting unit 115, the CPU 101 controls the USB host control unit 114 totransmit the print data in the memory area secured for print datastorage to a logical channel of the end point 1 (405 in FIG. 4) of theprinting unit 115 via the USB interface. The print data is divided into64-byte packets, and delivered from the CPU 101 to the printing unit 115by a communication unit compliant with the USB communication standard.Thereafter, the control proceeds to step S1703.

[0165] In step S1703, the CPU 101 determines whether the printing unit115 is effective and the print status needs to be acquired from theprinting unit 115. If YES, the control proceeds to step S1704. If NO,the control proceeds to step S1705. Determination of necessity ofacquiring print status from the printing unit 115 is performed asfollows, for instance. First, the CPU 101 executes a timer task which isscheduled under the control of the incorporated operating system. Thetimer task monitors a lapse of a predetermined period, and after thepredetermined period has passed, the timer task notifies a USB hostcontrol task of the lapse of the predetermined period. If the USB hostcontrol task receives the notification, the CPU 101 determines that itis necessary to acquire print status of the printing unit 115.

[0166] If it is determined in step S1703 that the printing unit 115 iseffective and acquisition of print status from the printing unit 115 isnecessary, the CPU 101 controls the USB host control unit 114 to acquireprint status from the printing unit 115 in step S1704. The acquisitionof the print status from the printing unit 115 is performed as follows.When the CPU 101 determines that it is necessary to acquire print statusfrom the printing unit 115, the CPU 101 controls the USB host controlunit 114 to transmit a packet requesting print status to a logicalchannel of the end point 2 (406 of FIG. 4) of the printing unit 115 viathe USB interface. As a response to the packet, the CPU 101 receivesdata representing print status of the printing unit 115. The datarepresenting the print status is divided into 64-byte packets anddelivered from the printing unit 115 to the CPU 101 by a communicationunit compliant with the USB communication standard. Thereafter, thecontrol proceeds to step S1705.

[0167] In step S1705, the CPU 101 determines whether the memory card RWunit 119 is effective and command or write data to be transferred to thememory card RW unit 119 exists. If YES, the control proceeds to stepS1706. If NO, the control proceeds to step S1707. The CPU 101 decidesthe effectiveness of the memory card RW unit 119 by the processesperformed in steps S1509, S1510, and S1511.

[0168] The determination of the existence of command or write data tothe memory card RW unit 119 is performed as follows. First, a memoryarea for storing command and write data to be transmitted to the memorycard RW unit 119 is secured in the image memory 104 of the imageprocessing apparatus 100′. Then, when the image processing apparatus100′ is performing write operation processing of an read image to amemory card, a read task governing a read operation controls the readingcontrol unit 106 to convert read image of a document to image data, andputs the image data in the memory area secured for command and writedata storage. Further, when the image processing apparatus 100′ isperforming an operation of writing an image received via facsimile to amemory card, a facsimile communication task governing a facsimilecommunication operation controls the communication control unit 109 toput image data received via facsimile in the memory area secured forcommand and write data storage. The CPU 101 detects whether or not theimage data is in the memory area secured for command and write datastorage, thereby determines whether or not command or write data to thememory card RW unit 119 exists.

[0169] If it is determined in step S1705 that the memory card RW unit119 is effective and command or write to the memory card RW unit 119exists, the CPU 101 controls the USB host control unit 114 to transmitthe command or write data to the memory card RW unit 119 in step S1706.Note, transmission of command or write data to the memory card RW unit119 is performed as follows. When the CPU 101 recognizes the existenceof the command or write data to the memory card RW unit 119, the CPU 101controls the USB host control unit 114 to transmit the command or writedata in the memory area secured for command and write data storage to alogical channel of the end point 1 (505 in FIG. 11) of the memory cardRW unit 119 via the USB interface. The command or write data is dividedinto 64-byte packets, and delivered from the CPU 101 to the memory cardRW unit 119 by a communication unit compliant with the USB communicationstandard. Thereafter, the control proceeds to step S1707.

[0170] In step S1707, the CPU 101 determines whether the memory card RWunit 119 is effective and the status or read data needs to be acquiredfrom the memory card RW unit 119. If YES, the control proceeds to stepS1708. If NO, the control returns to step S1701. Determination ofnecessity of acquiring status or read data from the memory card RW unit119 is performed as follows, for instance. In the communication protocolbetween the CPU 101 and the memory card RW unit 119, it is the rule forthe CPU 101 to obtain status or read data corresponding to command orwrite data after the CPU 101 transmits the write data or command data tothe memory card RW unit 119 (step S1706). Therefore, after the processof step S1706 is performed, and if the CPU 101 has not acquired statusor read data corresponding to write data or command, it is determinedthat the CPU 101 needs to acquire status or read data from the memorycard RW unit 119.

[0171] If it is determined in step S1707 that the memory card RW unit119 is effective and acquisition of status or read data from the memorycard RW unit 119 is necessary, the CPU controls the USB host controlunit 114 to acquire status or read data from the memory card RW unit 119in step S1708. The acquisition of the status or read data from thememory card RW unit 119 is performed as follows. When the CPU 101determines that it is necessary to acquire status or read data from thememory card RW unit 119, the CPU 101 controls the USB host control unit114 to transmit a packet requesting status or read data to a logicalchannel of the end point 2 (506 of FIG. 11) of the memory card RW unit119 via the USB interface. As a response to the packet, the CPU 101receives data representing status or read data of/from the memory cardRW unit 119. The data representing the status or read data is dividedinto 64-byte packets and delivered from the memory card RW unit 119 tothe CPU 101 by a communication unit compliant with the USB communicationstandard. Thereafter, the control returns to step S1701.

[0172] In the second embodiment, a case of performing processing of theprinting unit 115 and processing of the memory card RW unit 119 in timedivision is described, and this can expect following merits. As theimage processing apparatus 100′ according to the second embodiment is acomposite machine having a reading function, a printing function, acommunication function, a memory card write/read function, an interfacefunction with an external information processing terminal, there arecases where simultaneous execution of two or more functions is desired,if possible. For example, if an operator operates to simultaneouslydesignate the printing function, such as a copying operation, and thememory card RW function which refers to data in a memory card, it isideal to accept both of the functions and run the functions in parallel.If the processes of the printing unit 115 and the memory card RW unit119 are not performed in time division unlike the second embodiment, acopying operation and operation of referring to data in a memory cardcannot be performed simultaneously, and it will be limited such thatonly either one of the functions which is designated first is executed.In contrast, by performing processes of the printing unit 115 and thememory card RW unit 119 in time division, the both designations of thecopying operation and operation of referring to data in a memory cardcan be accepted and run in parallel.

[0173] Further, in the second embodiment, a case of performing processesof the printing unit 115 and processing of the memory card RW unit 119in time division is described, however, either one of the processes maybe given priority over the other. Alternatively, either one of theprocesses may be performed prior to the other depending upon the stateof the image processing apparatus 100′ and/or the state of memory. Wheneither one of the processes is performed prior to the other, thefollowing merits may be expected. For instance, when an operatoroperates to designate a printing function, such as copying function, anda memory card RW function of referring to data in a memory card, it isideal that both of the functions are performed in parallel and completedin the shortest time period. If priority is not given to either of theprocesses of the printing unit 115 and the memory card RW unit 119 asdescribed in the second embodiment, the operation of referring to datain the memory card whose transmission load of data is relatively lightand which requires frequent waiting time for processing by the CPU 101consumes large part of processing ability of the CPU 101. This preventsprogress of the copying operation in which a relatively large amount ofdata needs to be transmitted. Especially, when a color copying isperformed, delay of the process in the printing unit 115 affects colorreproducibility of the color copy, and may cause a fatal defect. Incontrast, if either of the processes of the printing unit 115 and thememory card RW unit 119 is performed prior to the other as in the secondembodiment, when a copying operation and a referring operation of datain a memory card are to be performed simultaneously, respectiveprocesses can be performed in optimum conditions and operation qualityof color copying, such as color reproducibility can be kept high.

[0174] According to the second embodiment as described above, sinceconnection with a printing unit is complied with the high-speed USBinterface, when a printing unit capable of high-speed printing is used,a main control unit can provide print data to the printing unit fastenough to be used in the printing. Thus, it is possible to make the bestuse of the ability of the printing unit. Further, since two-way USBinterface is employed, the main control unit does not have to have aphysical interface other than a one-way parallel communication interfacefor obtaining status information of the printing unit, such as printstatus. Furthermore, since a USB interface which allows multipleconnection is utilized, when a read/write device for a detachablestorage medium is employed in the image processing apparatus, there isno need to provide another physical interface.

[0175] In addition, since a USB interface which allows multipleconnection is utilized, the image processing apparatus attains widerexpansivity. Further, since a USB interface is a general purposeinterface, the types of bus-interfaces are unified, which makes iteasier to employ another device, especially peripheral devices (e.g.,printing unit, reading unit, storage device, communication unit) whichare often diverted from other products. This may shorten a developmentperiod of the image processing apparatus and reduce development cost.

[0176] Moreover, since the USB interface that can be collectivelymanaged is employed, it becomes easier to disperse loads of peripheralprocessing units. More specifically, by performing the processes of theprinting unit 115 and the memory card RW unit 119 in time division asdescribed in the second embodiment, it is possible to accept and advanceboth of the processes in parallel. Further, by performing either one ofthe processes prior to the other as described in the second embodiment,when a copying operation and an operation of referring to data in thememory card are designated simultaneously, it is possible to advanceeach operation at the optimum conditions, which secures operationquality of, e.g., color reproducibility in color copying.

[0177] Further, in the second embodiment, when each of the printing unit115 and the memory card RW unit 119 is effective, processing operationfor each device is performed. Alternatively, if either of the printingunit 115 or the memory card RW unit 119 becomes ineffective, theineffective one may be initialized again to overcome a trouble.

[0178] Further, in the second embodiment, the printing unit 115 and thememory card RW unit 119 are described; however, the present invention isnot limited to a combination of a printing unit and a memory card RWunit. Alternatively, any combinations of, e.g., a reading unit, an imagesensing unit such as a digital camera, and a communication unit may beused, and by applying the same operation, the similar effects can beexpected.

[0179] <Other Embodiment>

[0180] The object of the present invention can also be achieved byproviding a storage medium storing program codes for performing theaforesaid processes to a computer system or apparatus (e.g., a personalcomputer), reading the program codes, by a CPU or MPU of the computersystem or apparatus, from the storage medium, then executing theprogram. In this case, the program codes read from the storage mediumrealize the functions according to the embodiment, and the storagemedium storing the program codes constitutes the invention.

[0181] Further, the storage medium, such as a floppy disk, a hard disk,an optical disk, a magneto-optical disk, CD-ROM, CD-R, a magnetic tape,a non-volatile type memory card, and ROM, and computer network, such asLAN (local area network) and WAN (wide area network), can be used forproviding the program codes.

[0182] Furthermore, besides aforesaid functions according to the aboveembodiment are realized by executing the program codes which are read bya computer, the present invention includes a case where an OS (operatingsystem) or the like working on the computer performs a part or entireprocesses in accordance with designations of the program codes andrealizes functions according to the above embodiment.

[0183] Furthermore, the present invention also includes a case where,after the program codes read from the storage medium are written in afunction expansion card which is inserted into the computer or in amemory provided in a function expansion unit which is connected to thecomputer, CPU or the like contained in the function expansion card orunit performs a part or entire process in accordance with designationsof the program codes and realizes functions of the above embodiment.

[0184] In a case where the present invention is applied to the aforesaidstorage medium, the storage medium stores program codes corresponding tothe flowcharts in FIGS. 5 to 9 described in the first embodiment orFIGS. 13 and 14 described in the second embodiment.

[0185] The present invention is not limited to the above embodiments andvarious changes and modifications can be made within the spirit andscope of the present invention. Therefore to apprise the public of thescope of the present invention, the following claims are made.

What is claimed is:
 1. An image processing apparatus comprising: a dataprocessing unit; a first interface unit, having a plurality of logicalchannels, adapted to connect with an external processing apparatus; asecond interface unit, having a logical channel that has a configurationdifferent from said first interface unit, adapted to connect with saiddata processing unit; and a control unit adapted to control datatransfer between said first interface unit and said second interfaceunit.
 2. The image processing apparatus according to claim 1, whereinsaid second interface unit includes a bus connection unit which realizestwo-way connection between said control unit and said data processingunit.
 3. The image processing apparatus according to claim 1, whereinsaid first interface unit is compliant with the universal serial bus(USB) communication standard.
 4. The image processing apparatusaccording to claim 2, wherein said bus connection unit is compliant withthe universal serial bus (USB) communication standard.
 5. The imageprocessing apparatus according to claim 1, wherein said control unitexecutes two-way data transfer to said data processing unit through saidsecond interface unit.
 6. The image processing apparatus according toclaim 1, wherein said second interface unit is compliant with theuniversal serial bus (USB) communication standard.
 7. The imageprocessing apparatus according to claim 1, further comprising: anattribute acquisition unit adapted to acquire attribute informationpossessed by said data processing unit through said second interfaceunit; and an attribute notification unit adapted to notify attributeinformation for each of the plurality of logical channels provided insaid first interface unit, wherein said control unit controls saidattribute notification unit so as to integrally notify the attributeinformation acquired by said attribute acquisition unit and theattribute information for each of the plurality of logical channelsprovided in said first interface unit.
 8. The image processing apparatusaccording to claim 7, wherein said control unit controls said attributeacquisition unit so as to acquire the attribute information possessed bysaid data processing unit through said second interface unit at the timeof power-on initialization of said image processing apparatus.
 9. Theimage processing apparatus according to claim 7, wherein said controlunit controls said attribute acquisition unit so as to acquire theattribute information possessed by said data processing unit throughsaid second interface unit when said image processing apparatus receivesan initialization signal from the external processing apparatus.
 10. Theimage processing apparatus according to claim 7, wherein said controlunit controls said attribute acquisition unit so as to acquire theattribute information possessed by said data processing unit throughsaid second interface unit when said image processing apparatus receivesan attribute acquisition signal from the external processing apparatus.11. The image processing apparatus according to claim 1, wherein saidcontrol unit comprises: a configuration data formation unit adapted toform configuration data based on a configuration formation signal fromthe external processing apparatus; and a configuration formationtransmission unit adapted to transmit the configuration data, formed bysaid configuration data formation unit, to said data processing unit,wherein said control unit executes said configuration formationtransmission unit at the time of power-on initialization.
 12. The imageprocessing apparatus according to claim 1, wherein said control unitcomprises: a configuration data formation unit adapted to formconfiguration data based on a configuration formation signal from theexternal processing apparatus; and a configuration formationtransmission unit adapted to transmit the configuration data, formed bysaid configuration data formation unit, to said data processing unit,wherein said control unit executes said configuration formationtransmission unit when said image processing apparatus receives printdata from the eternal processing apparatus.
 13. The image processingapparatus according to claim 1, wherein said control unit controls saidfirst interface unit and said second interface unit so as to receiveimage data through a logical channel, which is provided in said firstinterface unit, for said data processing unit and transfer the receivedimage data to said data processing unit through said second interfaceunit.
 14. The image processing apparatus according to claim 1, whereinsaid control unit controls said first interface unit and said secondinterface unit so as to acquire an image data processing status fromsaid data processing unit through said second interface unit andtransfer the acquired processing status to the external processingapparatus through the logical channel, which is provided in said firstinterface unit, for said data processing unit.
 15. The image processingapparatus according to claim 13, wherein said control unit transfers thereceived image data without a change.
 16. The image processing apparatusaccording to claim 14, wherein said control unit transfers the receivedprocessing status without a change.
 17. The image processing apparatusaccording to claim 14, wherein said control unit analyzes saidprocessing status to determine image data transfer in progress ortransfer completion.
 18. The image processing apparatus according toclaim 13, wherein said control unit detects an image-data-receptionstandby state of said data processing unit through said second interfaceunit, and sets the detected image-data-reception standby state as animage-data-reception standby state to be transmitted through the logicalchannel, which is provided in said first interface unit, for said dataprocessing unit.
 19. The image processing apparatus according to claim14, wherein said control unit detects an image-data-processing-statusnotification state of said data processing unit through said secondinterface unit, and sets the detected image-data-processing-statusnotification state as an image-data-processing-status notification stateto be transmitted through the logical channel, which is provided in saidfirst interface unit, for said data processing unit.
 20. The imageprocessing apparatus according to claim 13, wherein said control unitcomprises an identification unit adapted to identify a length of eachtransfer portion of the image data which is transferred by portions,wherein in a case where said identification unit identifies a transferportion whose length is shorter than a predetermined length or 0, saidcontrol unit controls said data processing unit to complete processingoperation after unprocessed image data is processed.
 21. The imageprocessing apparatus according to claim 13, wherein said control unitcomprises a timing unit adapted to time a reception interval betweentransfer portions of the image data which is transferred by portions,wherein in a case where the reception interval timed by said timing unitexceeds a predetermined time, said control unit controls said dataprocessing unit to complete processing operation after unprocessed imagedata is processed.
 22. The image processing apparatus according to claim14, wherein said control unit comprises a determination unit adapted todetermine whether or not the acquired processing status indicatesprocessing completion, wherein in a case where said determination unitdetermines processing completion, said control unit controls said dataprocessing unit to complete processing operation.
 23. The imageprocessing apparatus according to claim 1, wherein said data processingunit is a printing unit which prints image data on a printing material.24. The image processing apparatus according to claim 1, wherein saiddata processing unit is a reading unit which reads an original documentto be converted to image data, an image sensing unit which senses anobject and generates image data, or a communication unit whichtransmits/receives image data to/from a remote apparatus through acommunication line.
 25. A control method of an image processingapparatus including: a data processing unit; a first interface unit,having a plurality of logical channels, which is adapted to connect withan external processing apparatus; and a second interface unit, having alogical channel that has a configuration different from the firstinterface unit, which is adapted to connect with the data processingunit, said method comprising controlling data transfer between the firstinterface unit and the second interface unit.
 26. The control methodaccording to claim 25, further comprising: acquiring attributeinformation possessed by the data processing unit through the secondinterface unit; integrating the acquired attribute information andattribute information for each of the plurality of logical channelsprovided in the first interface unit; and notifying the integratedattribute information.
 27. The control method according to claim 25,wherein the first interface unit and the second interface unit arecontrolled so that image data is received through a logical channel,which is provided in the first interface unit, for the data processingunit, and the received image data is transferred to the data processingunit through the second interface unit.
 28. The control method accordingto claim 25, wherein the first interface unit and the second interfaceunit are controlled so that an image data processing status is acquiredfrom the data processing unit through the second interface unit, and theacquired processing status is transferred to the external processingapparatus through the logical channel, which is provided in the firstinterface unit, for the data processing unit.
 29. The control methodaccording to claim 27, wherein the received image data is transferredwithout a change.
 30. The control method according to claim 28, whereinthe processing status is transferred without a change.
 31. The controlmethod according to claim 30, further comprising analyzing saidprocessing status to determine image data transfer in progress ortransfer completion.
 32. The control method according to claim 27,wherein an image-data-reception standby state of the data processingunit is detected through the second interface unit, and the detectedimage-data-reception standby state is set as an image-data-receptionstandby state to be transmitted through the logical channel, which isprovided in the first interface unit, for the data processing unit. 33.The control method according to claim 30, further comprising determiningwhether or not the acquired processing status indicates processingcompletion, wherein in a case where processing completion is determined,the data processing unit is controlled to complete processing operation.34. A storage medium storing a program executable by a data processingapparatus, which includes program codes for realizing the control methoddescribed in claim
 25. 35. An image processing apparatus comprising: abus connection unit adapted to connect said control unit with aplurality of data processing units in two-way direction; and acontroller connected with said bus connection unit via a bus, whereinsaid bus connection unit realizes two-way connection between saidcontroller and said plurality of data processing units.
 36. The imageprocessing apparatus according to claim 35, wherein said bus connectionunit includes a conversion unit which converts data from said controlunit so as to be transmitted to said plurality of data processing unitsand converts data from said plurality of data processing units so as tobe transmitted to said control unit.
 37. The image processing apparatusaccording to claim 35, wherein said bus connection unit is compliantwith the universal serial bus (USB) communication standard.
 38. Theimage processing apparatus according to claim 35, wherein said controlunit includes an attribute acquisition unit adapted to acquire attributeinformation of said plurality of data processing units through said busconnection unit at the time of power-on initialization of said imageprocessing apparatus.
 39. The image processing apparatus according toclaim 38, wherein said control unit includes an effectivenessdetermination unit adapted to determine whether each of said pluralityof data processing units is effective or ineffective on the basis of theattribute information obtained from said plurality of data processingunits by said attribute acquisition unit.
 40. The image processingapparatus according to claim 39, wherein when said effectivenessdetermination unit determines that two or more of said data processingunits are effective, said control unit communicates with the effectivedata processing units in time division.
 41. The image processingapparatus according to claim 39, wherein said control unit is capable ofchanging an order of communication with said plurality of dataprocessing units.
 42. The image processing apparatus according to claim39, wherein, when communication with any of said plurality of dataprocessing units has developed a problem, said control unit takes acountermeasure for the data processing unit with problem.
 43. The imageprocessing apparatus according to claim 35, wherein said plurality ofdata processing units comprise a printing unit which prints image dataon a printing material, a reading unit which reads an original documentto be converted to image data, a storing unit which writes/reads data,an image sensing unit which senses an object and generates image data,or a communication unit which transmits/receives image data to/from aremote apparatus through a communication line.
 44. A control method ofan image processing apparatus including a bus connection unit adapted toconnect said control unit with a plurality of data processing units intwo-way direction and a controller connected with said bus connectionunit via a bus, wherein said bus connection unit realizes two-wayconnection between said controller and said plurality of data processingunits, said method wherein acquiring attribute information of saidplurality of data processing units through said bus connection unit atthe time of power-on initialization of said image processing apparatus.45. The control method according to claim 44, comprising: convertingdata from said control unit by said bus connection unit so as to betransmitted to said data processing units; and converting data from saiddata processing units by said bus connection unit so as to betransmitted to said control unit.
 46. The control method according toclaim 44, wherein said bus connection unit is compliant with theuniversal serial bus (USB) communication standard.
 47. The controlmethod according to claim 44, characterized by comprising determiningwhether each of said plurality of data processing units is effective orineffective on the basis of the attribute information obtained from saidplurality of data processing units.
 48. The control method according toclaim 47, comprising, when two or more of said data processing units aredetermined effective, communicating with the effective data processingunits in time division.
 49. The control method according to claim 47,comprising changing an order of communication with said plurality ofdata processing units.
 50. The control method according to claim 47,comprising, when communication with any of said plurality of dataprocessing units has developed a problem, taking a countermeasure forthe data processing unit with problem.
 51. The control method accordingto claim 44, wherein said plurality of data processing units comprise aprinting unit which prints image data on a printing material, a readingunit which reads an original document to be converted to image data, astoring unit which writes/reads data, an image sensing unit which sensesan object and generates image data, or a communication unit whichtransmits/receives image data to/from a remote apparatus through acommunication line.
 52. A storage medium storing a program executable bya data processing apparatus, which includes program codes for realizingthe control method described in claim 44.